package com.todo.strategy.card.infrastructure.entity.domain;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author zhangwenxiang
 * @date 2024/3/11 19:17
 * @description
 */
@Data
public class CardStrategyDO {

    /**
     * 旅游卡id
     */
    private Long cardId;

    /**
     * 旅游卡攻略详情
     */
    private CardStrategyInfo cardStrategyInfo;
    /**
     *
     * 计划关联列表
     */
    private List<PlanRelationInfo> planRelationInfoList;

    /**
     * 创建人
     */
    private Long createUser;
    /**
     * 最后更新人
     */
    private Long lastUpdateUser;
    /**
     * 是否删除
     */
    private Integer isDelete;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;


    @Data
    public static class CardStrategyInfo {

        private Long id;
        /**
         * 标题
         */
        private String title;
        /**
         * 省份
         */
        private String province;
        /**
         * 城市
         */
        private String city;
        /**
         * 主图
         */
        private String mainImg;
        /**
         * 旅游时间类型：一天一夜、两天一夜等
         */
        private String travelDayType;
        /**
         * 攻略描述
         */
        private String desc;
        /**
         * 包含景点数量
         */
        private Integer sightCount;
        /**
         * 当前热度
         */
        private Integer hot;
        /**
         * 体验分
         */
        private Integer experience;
        /**
         * 额外花销
         */
        private Double extraCost;
        /**
         * 额外花销详情
         */
        private String costInfo;
        /**
         * 扩展字段
         */
        private String extra;
    }

    @Data
    public static class PlanRelationInfo {

        private Long id;
        /**
         * 标题
         */
        private String title;
        /**
         * 备注
         */
        private String remark;
        /**
         * 关联类型
         */
        private Integer relationType;
        /**
         * 关联id
         */
        private Long relationId;
        /**
         * 当天开始时间
         */
        private String startTime;
        /**
         * 关联名称
         */
        private String relationName;
        /**
         * 计划第几天
         */
        private Integer planDay;
        /**
         * 旅游规划、建议
         */
        private String suggest;
        /**
         * 时间花费 - 分钟
         */
        private Integer timeCost;
        /**
         * 金额花费
         */
        private Double moneyCost;
    }
}
